<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    
  <title>The source code</title>
    <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
    <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
</head>
<body  onload="prettyPrint();">
    <pre class="prettyprint lang-js">Ext.ns("Game.tiny");

<div id="cls-Game.tiny.Tetris_Box"></div>/**
 * 俄罗斯方块中的方块对象 最小单位
 * @class Game.tiny.Tetris_Box
 * @extends Ext.util.Observable
 */
Game.tiny.Tetris_Box = Ext.extend(Ext.util.Observable, { 
  <div id="method-Game.tiny.Tetris_Box-constructor"></div>/**
   * 构造函数
   * @constructor
   * @param {Game.tiny.tetris.App} game 游戏主体对象
   * @param {number} x box在方格体系中的坐标x（左上角为 0 0）
   * @param {number} y box在方格体系中的坐标y
   * @param {Object} paper 绘图对象
   */
  constructor: function(game,x,y,paper) {  
    Game.tiny.Tetris_Box.superclass.constructor.apply(this, arguments);  
    this._game = game; // 游戏类
    this._paper = paper; // 绘制笔刷 
    this._config = this._game._config; // 配置文件
    this._x = x; // 格子坐标 x 
    this._y = y; // 格子坐标 y 
    this._rect = undefined; // 绘制的方块类
    this._value = 0; // 是否激活标识
    this._flush = 1; // 默认是可擦除的
  }, 
  <div id="method-Game.tiny.Tetris_Box-init"></div>/**
   * 初始化这个盒子对象
   * @method init
   */ 
  init: function(){
    var self = this;  
    var box = self._config.box; 
    self._rect = self._paper.rect((self._x)*box, (self._y)*box, box, box, 0); 
    if(!self._config.debug){
      self._rect.attr("stroke-width", 0);
    } 
    self.draw();
  },
  
  <div id="method-Game.tiny.Tetris_Box-setValue"></div>/**
   * @method setValue
   * @param {number} value 设置0为没有激活 1为激活 默认没有激活
   */
  setValue: function(value) {  
    this._value = value;
  } ,

  <div id="method-Game.tiny.Tetris_Box-getValue"></div>/**
   * @method getValue
   * @return {number}
   */
  getValue: function() {  
    return this._value;
  } ,

  <div id="method-Game.tiny.Tetris_Box-setFlush"></div>/**
   * @method setFlush
   * @param {number} flush 设置0为不可擦除 1为可擦除 默认可擦除
   */
  setFlush: function(flush) {  
    this._flush = flush;
  } ,

  <div id="method-Game.tiny.Tetris_Box-getFlush"></div>/**
   * @method getFlush
   * @return {number}
   */
  getFlush: function() {  
    return this._flush;
  } ,

  <div id="method-Game.tiny.Tetris_Box-draw"></div>/**
   * 绘制方法 主要是绘制颜色
   * @method draw
   */
  draw: function() {  
    var self = this;
    var boxFill = self._config.boxFill;
    var boxActiveFill = self._config.boxActiveFill;  
    if(self._value==0){
      self._rect.attr("fill", boxFill); 
    }else{
      self._rect.attr("fill", boxActiveFill); 
    } 
  }
});  </pre>    
</body>
</html>